package com.cqjtu.store.user.service;

import com.cqjtu.store.common.PageVO;
import com.cqjtu.store.common.R;
import com.cqjtu.store.user.pojo.dto.*;
import com.cqjtu.store.user.pojo.vo.UserLoginVO;
import com.cqjtu.store.user.pojo.vo.UserShowVO;
import com.cqjtu.store.user.pojo.vo.UserVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface UserService {
    void register(UserRegDTO userRegDTO);

    R<UserLoginVO> login(UserLoginDTO userLoginDTO);

    void updatePwd(PwdUpdateDTO pwdUpdateDTO,UserLoginVO userLoginVO);

    UserVO getUser(UserLoginVO userLoginVO);

    void updateUser(UserUpdateDTO userUpdateDTO, UserLoginVO userLoginVO);

    void upload(MultipartFile avatar, UserLoginVO userLoginVO);

    String convertFileToBase64(MultipartFile file);
    void addUser(UserUpdateDTO userUpdateDTO);
    void stopUser(Integer id);
    void startUser(Integer id);
    void resetUser(Integer id);
    PageVO<List<UserShowVO>> showUserList(UserPageDTO userPageDTO);
    PageVO<List<UserShowVO>> showUserByNameList(String username,UserPageDTO userPageDTO);

}
